Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
1. Field of the Invention
The invention relates generally to limiting access to a software product. More particularly, the invention relates to a mechanism which allows a trial version of a software product to be created without altering the installation program or the product code.
2. Description of the Related Art
If users had an opportunity to try software products before having to make decisions on whether or not to purchase the products, it is generally believed that more copies of software products could be sold. It is also believed that customer satisfaction would be higher. Consequently, both the manufacturers and purchasers of computer software products would be well served if purchasers were given reasonable access to trial versions of software products for purposes of making a purchasing decision.
Typically, software manufacturers have attempted to provide advanced access to their software products by producing demonstration versions having limited functionality. Another prior solution has been to provide prospective purchasers with a fully functioning trial product that is operable for only a limited amount of time by altering the product code and then encrypting the original product code. After the user is satisfied that the product will meet his/her needs, the user can purchase xe2x80x9cfixesxe2x80x9d for the altered product code or purchase a key to decrypt the original code.
While these approaches have had some success in the market, they have several limitations. For example, because manufacturers create these demonstration versions in advance of their use, default installation options must typically be selected. As a result, the demonstration versions are not customizable at the time of installation by the user and may not include some of the exotic options users would like to examine. Another limitation of these prior approaches is the cost to the software manufacturer. Since each software product is unique, creation of trial products typically involves a number of highly skilled individuals. For purposes of identifying areas where functionality should be limited, one or more individuals that are intimately familiar with the product may be required. Additionally, one or more programmers are required to alter the product code and/or the corresponding installation program.
In view of the foregoing, it is desirable to provide an automated process that can dynamically create a trial product from a full product without necessitating alterations to either the product code or the installation program. Additionally, it would be advantageous if the automated process were operative at the time of installation in order to allow user customization.
A method of creating a trial software product on a target system is provided. The method consists of intercepting file system calls from an installation process associated with a full software product and, responsive to a write request from the installation process, encrypting data associated with the write request if the write request is associated with one of a predetermined set of critical product files. The predetermined set of critical product files including those product files comprising the full software product that have been identified as files to which access is to be controlled.